feat(Analysis/InnerProductSpace/Adjoint): characterize least-squares minimizers - #42122
feat(Analysis/InnerProductSpace/Adjoint): characterize least-squares minimizers#42122bocowgill wants to merge 4 commits into
Conversation
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
|
LLM-generated |
PR summary 322cf58a29Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
This PR adds two theorems about least-squares minimizers for a continuous linear map
A.The first theorem states that the fitted value
A xminimizes the distance toyoverA.rangeif and only if the adjoint maps the residualy - A xto zero.The second theorem restates the result in coefficient-space. That is,
xminimizes‖y - A z‖over allz : Eif and only if the same adjoint condition holds. This result is useful because it makes the range-level characterization applicable for least-squares problems (which are often stated in terms of coefficients).These results provide a characterization of least-squares minimizers. The theorems use the existing APIs for range, orthogonal-complement, and adjoints. The PR adds them to
Mathlib/Analysis/InnerProductSpace/Adjoint.lean.These results were added to
Mathlib/Analysis/InnerProductSpace/Adjoint.leanbecause a least-squares residual is orthogonal toA.range, while the orthogonal complement ofA.rangeis the kernel of the adjoint.LLM disclosure
For theorem planning and Lean implementation, I used OpenAI Codex substantially. I also used it for suggestions around naming and documentation, for iterating on the proofs, and for validating my commits locally.
I manually searched for the best locations and earlier results to build upon. I personally reviewed both the mathematical statements and Lean code (line-by-line), as well as the suggestions around naming and API choices. I also reviewed and confirmed that I can explain each step of the two theorems' proofs.
To validate the change, I directly compiled the modified file and ran a targeted build of
Mathlib.Analysis.InnerProductSpace.Adjoint. Then I ran the style linter, and completed a fulllake buildand a fulllake test.Please note: This is my first Mathlib contribution. I welcome corrections or suggestions about all aspects of this PR. I'm prepared to revise it as necessary, and to learn from the review.